অ্যাপাচি অ্যাকটিভএমকিউ একটি ওপেন সোর্স মেসেজ ব্রোকার সিস্টেম, যা সহজেই ইনস্টল এবং কনফিগার করা যায়। এখানে আমরা অ্যাপাচি অ্যাকটিভএমকিউ ইনস্টল এবং কনফিগার করার ধাপগুলো দেখব।
অ্যাপাচি অ্যাকটিভএমকিউ ইনস্টল করার জন্য নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে হবে:
অ্যাপাচি অ্যাকটিভএমকিউ চালানোর জন্য Java 8 বা তার পরবর্তী ভার্সন ইনস্টল থাকা আবশ্যক। এটি নিশ্চিত করার জন্য নিচের কমান্ডটি রান করুন:
java -version
যদি জাভা ইনস্টল না থাকে, তাহলে আপনি অরাকল বা ওপেনজডি থেকে Java ডাউনলোড এবং ইনস্টল করতে পারেন।
অ্যাপাচি অ্যাকটিভএমকিউ এর সর্বশেষ সংস্করণটি অ্যাপাচি অ্যাকটিভএমকিউ অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড করুন।
ডাউনলোড করা ZIP বা TAR ফাইলটি আপনার পছন্দসই ডিরেক্টরিতে এক্সট্রাক্ট করুন। উদাহরণস্বরূপ:
tar -xvzf apache-activemq-x.x.x-bin.tar.gz
এটি অ্যাপাচি অ্যাকটিভএমকিউ এর ফাইলগুলো আপনার ডিরেক্টরিতে এক্সট্রাক্ট করবে।
এখন অ্যাপাচি অ্যাকটিভএমকিউ চালু করতে নিচের কমান্ডটি ব্যবহার করুন:
cd apache-activemq-x.x.x
bin/activemq start
এটি অ্যাপাচি অ্যাকটিভএমকিউ সার্ভিস চালু করবে। সার্ভিস চালু হলে, আপনি ওয়েব কনসোলের মাধ্যমে সার্ভিসটি ম্যানেজ করতে পারবেন।
অ্যাপাচি অ্যাকটিভএমকিউ বন্ধ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
bin/activemq stop
অ্যাপাচি অ্যাকটিভএমকিউ কনফিগারেশন ফাইলগুলো সাধারণত conf/
ফোল্ডারে থাকে, যেখানে আপনি বিভিন্ন সেটিংস কাস্টমাইজ করতে পারবেন।
activemq.xml
কনফিগারেশন ফাইলactivemq.xml
ফাইলটি প্রধান কনফিগারেশন ফাইল, যেখানে আপনি মেসেজ ব্রোকারের বিভিন্ন সেটিংস পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, আপনি এখানে ডিফল্ট পোর্ট, ট্রান্সপোর্ট প্রোটোকল ইত্যাদি কনফিগার করতে পারেন।
কনফিগারেশন পরিবর্তন করতে, conf/activemq.xml
ফাইলটি খুলুন এবং প্রয়োজনীয় সেটিংস পরিবর্তন করুন। উদাহরণস্বরূপ, আপনি পোর্ট নম্বর পরিবর্তন করতে পারেন:
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
</transportConnectors>
এখানে tcp://0.0.0.0:61616
একটি ডিফল্ট পোর্ট। আপনি এটি আপনার প্রয়োজন অনুসারে পরিবর্তন করতে পারেন।
অ্যাপাচি অ্যাকটিভএমকিউ লোগিং কনফিগারেশন conf/log4j.properties
ফাইলে রাখা থাকে। এখানে আপনি লগ ফাইলের স্তর (level) যেমন INFO
, DEBUG
, ERROR
পরিবর্তন করতে পারেন।
আপনি চাইলে অ্যাপাচি অ্যাকটিভএমকিউ সার্ভিসটিকে সিস্টেম স্টার্টআপের সময় স্বয়ংক্রিয়ভাবে চালু করার জন্য কনফিগার করতে পারেন। উদাহরণস্বরূপ, Linux সিস্টেমে আপনি এটি systemd
এর মাধ্যমে করতে পারেন।
systemd
সার্ভিস ফাইল তৈরি/etc/systemd/system/activemq.service
ফাইলে নিম্নলিখিত কনফিগারেশন যোগ করুন:
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
ExecStart=/opt/apache-activemq-x.x.x/bin/activemq start
ExecStop=/opt/apache-activemq-x.x.x/bin/activemq stop
User=activemq
Group=activemq
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable activemq
sudo systemctl start activemq
এখন, অ্যাপাচি অ্যাকটিভএমকিউ সার্ভিসটি আপনার সিস্টেম স্টার্টআপের সময় স্বয়ংক্রিয়ভাবে চালু হবে।
অ্যাপাচি অ্যাকটিভএমকিউ ইনস্টলেশন এবং কনফিগারেশন সহজ এবং সরল। আপনাকে শুধু জাভা ইনস্টল করতে হবে, অ্যাপাচি অ্যাকটিভএমকিউ ডাউনলোড এবং এক্সট্রাক্ট করতে হবে, তারপর প্রয়োজনীয় কনফিগারেশন করতে হবে। এছাড়া, যদি চান, আপনি সার্ভিসটিকে অটোমেটিক স্টার্ট করার জন্য systemd
ব্যবহার করে কনফিগার করতে পারেন।
অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) ইনস্টল করা খুবই সহজ এবং এটি বিভিন্ন অপারেটিং সিস্টেমে সাপোর্ট করে, যেমন Windows, Linux, এবং macOS। নিচে প্রতিটি অপারেটিং সিস্টেমে অ্যাপাচি অ্যাকটিভএমকিউ ইনস্টল করার ধাপগুলি বর্ণনা করা হলো।
.zip
ফাইলটি ডাউনলোড করুন।.zip
ফাইলটি এক্সট্র্যাক্ট (extract) করুন।bin
ফোল্ডারটি খুঁজুন।bin
ফোল্ডারে activemq.bat
ফাইলটি খুঁজে পেয়ে এটি ডাবল ক্লিক করে চালু করুন।http://localhost:8161
এই URL টি টাইপ করে ওয়েব কনসোল অ্যাক্সেস করুন।admin
এবং admin
.tar.gz
ফাইল ডাউনলোড করুন: Apache ActiveMQ Downloadটার্মিনাল (Terminal) খুলুন এবং ডাউনলোড করা .tar.gz
ফাইলটি এক্সট্র্যাক্ট করুন।
tar -xvzf apache-activemq-x.y.z-bin.tar.gz
x.y.z
হচ্ছে ডাউনলোড করা অ্যাকটিভএমকিউ ভার্সন।এক্সট্র্যাক্ট করা ফোল্ডারে যান:
cd apache-activemq-x.y.z/
তারপর bin/activemq
স্ক্রিপ্ট চালু করুন:
./bin/activemq start
http://localhost:8161
এই URL টি টাইপ করে ওয়েব কনসোল অ্যাক্সেস করুন।admin
এবং admin
.tar.gz
ফাইল ডাউনলোড করুন: Apache ActiveMQ Downloadটার্মিনাল খুলুন এবং ডাউনলোড করা .tar.gz
ফাইলটি এক্সট্র্যাক্ট করুন:
tar -xvzf apache-activemq-x.y.z-bin.tar.gz
এক্সট্র্যাক্ট করা ফোল্ডারে যান:
cd apache-activemq-x.y.z/
তারপর bin/activemq
স্ক্রিপ্ট চালু করুন:
./bin/activemq start
http://localhost:8161
এই URL টি টাইপ করে ওয়েব কনসোল অ্যাক্সেস করুন।admin
এবং admin
অ্যাপাচি অ্যাকটিভএমকিউ ডাউনলোড এবং ইনস্টলেশন প্রক্রিয়া বিভিন্ন অপারেটিং সিস্টেমে সহজ এবং দ্রুত। উইন্ডোজ, লিনাক্স এবং macOS-এ একইভাবে ইনস্টলেশন করা যায়। ইনস্টলেশনের পর, ওয়েব কনসোল থেকে সিস্টেম পরিচালনা করা যায় এবং ডিফল্ট লগইন দিয়ে অ্যাকটিভএমকিউ এর ফিচার ব্যবহার করা শুরু করা যায়।
অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) দুটি প্রধান উপায়ে ইন্সটল করা যায়: Standalone এবং Docker। এই দুটি পদ্ধতির মাধ্যমে আপনি অ্যাকটিভএমকিউ সহজেই ইনস্টল এবং কনফিগার করতে পারেন। নিচে দুটি পদ্ধতির বিস্তারিত বর্ণনা করা হলো।
Standalone ইন্সটলেশনের মাধ্যমে অ্যাকটিভএমকিউ আপনার সিস্টেমে সরাসরি ইন্সটল করা হয়। এটি ব্যবহার করার জন্য আপনি নিচের স্টেপগুলো অনুসরণ করতে পারেন:
অ্যাপাচি অ্যাকটিভএমকিউ চলাতে জাভা ইনস্টল থাকা প্রয়োজন। প্রথমে জাভা ইন্সটল করুন:
sudo apt update
sudo apt install openjdk-11-jdk
অ্যাপাচি অ্যাকটিভএমকিউ এর সর্বশেষ ভার্সন ডাউনলোড করতে অ্যাকটিভএমকিউ অফিসিয়াল ওয়েবসাইট থেকে বা কমান্ড লাইনের মাধ্যমে ডাউনলোড করুন:
wget https://archive.apache.org/dist/activemq/5.16.3/apache-activemq-5.16.3-bin.tar.gz
ডাউনলোড করা ফাইলটি এক্সট্র্যাক্ট করুন:
tar -xzvf apache-activemq-5.16.3-bin.tar.gz
ফাইল এক্সট্র্যাক্ট করার পর, অ্যাকটিভএমকিউ চালু করতে নিচের কমান্ডটি ব্যবহার করুন:
cd apache-activemq-5.16.3/bin
./activemq start
এই কমান্ডটি অ্যাকটিভএমকিউ সার্ভারটি চালু করবে এবং আপনি আপনার ব্রাউজারে http://localhost:8161
গিয়ে অ্যাকটিভএমকিউ কনসোল দেখতে পারবেন।
Docker ব্যবহার করে অ্যাপাচি অ্যাকটিভএমকিউ ইনস্টল করা খুবই সহজ এবং এটি আপনাকে দ্রুত একটি কনটেইনার পরিবেশে অ্যাকটিভএমকিউ চালানোর সুযোগ দেয়।
প্রথমে, Docker ইনস্টল করুন যদি আপনার সিস্টেমে এটি না থাকে। নিচের কমান্ডটি ব্যবহার করতে পারেন:
sudo apt update
sudo apt install docker.io
Docker হাব থেকে অ্যাপাচি অ্যাকটিভএমকিউ ইমেজ টানুন:
sudo docker pull rmohr/activemq
অ্যাকটিভএমকিউ কনটেইনারটি চালু করতে নিচের কমান্ডটি ব্যবহার করুন:
sudo docker run -d -p 61616:61616 -p 8161:8161 --name activemq rmohr/activemq
এটি অ্যাকটিভএমকিউ কনটেইনার চালু করবে এবং আপনাকে কনসোল অ্যাক্সেসের জন্য http://localhost:8161
এ প্রবেশ করতে বলবে।
কনটেইনারের স্টেটাস মনিটর করতে:
sudo docker ps
এই কমান্ডটি আপনাকে চলমান কনটেইনারের তথ্য দেবে।
Standalone এবং Docker দুই পদ্ধতিতেই অ্যাকটিভএমকিউ ইন্সটল করা সম্ভব, তবে Docker পদ্ধতি আপনাকে আরও দ্রুত এবং সহজে অ্যাকটিভএমকিউ কনফিগার করতে এবং পরিচালনা করতে সহায়তা করবে। Standalone পদ্ধতিতে আপনাকে সার্ভার কনফিগারেশন এবং ফাইল পরিচালনার বিষয়ে কিছুটা মনোযোগ দিতে হবে, কিন্তু Docker কনটেইনারে এই সব কনফিগারেশন স্বয়ংক্রিয়ভাবে করা হয়।
অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) মেসেজ ব্রোকারের কনফিগারেশন নিয়ন্ত্রণ করতে একটি প্রধান কনফিগারেশন ফাইল ব্যবহার করে, যার নাম activemq.xml। এই ফাইলটি অ্যাকটিভএমকিউ সার্ভারের সমস্ত মূল কনফিগারেশন সেটিংস ধারণ করে, যেমন ব্রোকারের পোর্ট, কিউ এবং টপিকের ডিফিনিশন, নিরাপত্তা সেটিংস, স্টোরেজ কনফিগারেশন ইত্যাদি।
activemq.xml ফাইলটি অ্যাকটিভএমকিউ ব্রোকারের সেটআপ এবং কনফিগারেশন পরিচালনা করার জন্য ব্যবহৃত হয়। এটি অ্যাপাচি অ্যাকটিভএমকিউ এর মূল কনফিগারেশন ফাইল, যেখানে:
activemq.xml ফাইলটি XML ফর্ম্যাটে থাকে, যার মাধ্যমে ব্রোকারের বিভিন্ন সেটিংস কনফিগার করা হয়। নিচে কিছু প্রধান কনফিগারেশন এলিমেন্ট এবং তাদের ভূমিকা বর্ণনা করা হলো:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="data">
<transportConnectors>
<transportConnector name="openwire" uri="tcp://localhost:61616"/>
<transportConnector name="mqtt" uri="mqtt://localhost:1883"/>
</transportConnectors>
</broker>
এই অংশে brokerName (যেমন "localhost") এবং dataDirectory (যেখানে ব্রোকারের ডেটা সংরক্ষিত হবে) নির্ধারণ করা হয়। এছাড়াও, ব্রোকারের জন্য যোগাযোগ প্রটোকল (যেমন TCP বা MQTT) কনফিগার করা হয়।
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"/>
</policyEntries>
</policyMap>
</destinationPolicy>
এই অংশে কিউ সংক্রান্ত কনফিগারেশন যেমন প্রোডিউসার ফ্লো কন্ট্রোল (producer flow control) এবং মেমরি সীমা (memory limit) সেট করা হয়।
<security>
<authorizationMap>
<authorizationEntries>
<authorizationEntry topic=">" read="admins" write="admins"/>
<authorizationEntry queue=">" read="users" write="admins"/>
</authorizationEntries>
</authorizationMap>
</security>
এই অংশে ব্রোকারের নিরাপত্তা ব্যবস্থা কনফিগার করা হয়, যেখানে read এবং write অনুমতি নির্ধারণ করা হয় বিভিন্ন গ্রুপ বা ইউজারের জন্য। এখানে "admins" বা "users" গ্রুপগুলোর জন্য বিভিন্ন ধরনের অনুমতি দেওয়া হতে পারে।
<plugins>
<plugin class="org.apache.activemq.security.AuthenticatorPlugin">
<users>
<user username="admin" password="adminPassword" groups="admins"/>
<user username="user" password="userPassword" groups="users"/>
</users>
</plugin>
</plugins>
এই অংশে ব্রোকারে ইউজার এবং তাদের পাসওয়ার্ড কনফিগার করা হয়। এখানে "admin" এবং "user" নামের দুটি ইউজারের জন্য পাসওয়ার্ড এবং গ্রুপ নির্ধারণ করা হয়েছে।
conf/activemq.xml
)।activemq.xml ফাইলটি অ্যাপাচি অ্যাকটিভএমকিউ ব্রোকারের কনফিগারেশন পরিচালনার জন্য একটি গুরুত্বপূর্ণ ফাইল। এর মাধ্যমে আপনি ব্রোকারের পোর্ট, নিরাপত্তা ব্যবস্থা, মেসেজ কিউ, এবং অন্যান্য সেটিংস কাস্টমাইজ করতে পারেন। এই ফাইলটি সঠিকভাবে কনফিগার করলে অ্যাকটিভএমকিউ সার্ভারের কার্যকারিতা এবং নিরাপত্তা বৃদ্ধি পায়।
অ্যাপাচি অ্যাকটিভএমকিউ একটি জনপ্রিয় মেসেজ ব্রোকার, যা Java অ্যাপ্লিকেশনগুলির মধ্যে মেসেজিং সমর্থন করে। অ্যাপাচি অ্যাকটিভএমকিউ-এর সাথে Java ইন্টিগ্রেশন সহজ এবং কার্যকরী, কারণ এটি Java Message Service (JMS) সমর্থন করে। এই ইন্টিগ্রেশন Java অ্যাপ্লিকেশনগুলোকে মেসেজ প্রযোজক (Producer) এবং কনজিউমার (Consumer) হিসেবে কার্যকরভাবে যোগাযোগ করতে সক্ষম করে।
অ্যাপাচি অ্যাকটিভএমকিউ এবং Java-এর ইন্টিগ্রেশন সাধারণত JMS API ব্যবহার করে করা হয়। JMS হল Java এর একটি API যা Java অ্যাপ্লিকেশনগুলির মধ্যে মেসেজ আদান-প্রদান সহজ করে তোলে। ActiveMQ, JMS প্রোটোকলকে সমর্থন করে, তাই Java অ্যাপ্লিকেশন খুব সহজে এটি ব্যবহার করতে পারে। এর মধ্যে কিছু গুরুত্বপূর্ণ স্টেপ রয়েছে যেগুলি অনুসরণ করলে আপনি ActiveMQ-এর সাথে Java অ্যাপ্লিকেশন সংযুক্ত করতে পারবেন।
Java অ্যাপ্লিকেশনে ActiveMQ ব্যবহার করতে হলে প্রথমে আপনাকে অ্যাপাচি অ্যাকটিভএমকিউ লাইব্রেরি বা জার (JAR) ফাইলগুলো প্রকল্পে যুক্ত করতে হবে। আপনি Maven বা Gradle ব্যবহার করতে পারেন:
Maven Dependency:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>5.16.0</version>
</dependency>
Gradle Dependency:
implementation 'org.apache.activemq:activemq-client:5.16.0'
Java অ্যাপ্লিকেশনে ActiveMQ সাপোর্ট করতে প্রথমে একটি Connection তৈরি করতে হবে। এটি একটি ActiveMQConnectionFactory
ব্যবহার করে করা হয়, যা ActiveMQ সার্ভারের সাথে যোগাযোগ স্থাপন করে।
import org.apache.activemq.ActiveMQConnectionFactory;
String brokerURL = "tcp://localhost:61616"; // ActiveMQ Broker URL
ConnectionFactory factory = new ActiveMQConnectionFactory(brokerURL);
Connection connection = factory.createConnection();
connection.start();
ActiveMQ-এর সাথে যোগাযোগ স্থাপন করার জন্য একটি Session
এবং Queue
তৈরি করতে হবে। Session
একটি একক থ্রেডে মেসেজ প্রযোজক এবং কনজিউমার পরিচালনা করে, এবং Queue
একটি মেসেজ কিউ যা FIFO (First In, First Out) মেসেজ প্রক্রিয়াকরণ নিশ্চিত করে।
import javax.jms.*;
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("ExampleQueue");
Java অ্যাপ্লিকেশনে মেসেজ পাঠানোর জন্য একটি MessageProducer
তৈরি করতে হয়। এটি মেসেজ কিউতে মেসেজ পাঠাবে।
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("Hello, ActiveMQ!");
producer.send(message);
মেসেজ গ্রহণের জন্য MessageConsumer
ব্যবহার করতে হয়। এটি কিউ থেকে মেসেজ গ্রহণ করে।
MessageConsumer consumer = session.createConsumer(queue);
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received: " + textMessage.getText());
}
মেসেজ প্রেরণ এবং গ্রহণ সম্পন্ন হলে, সবকিছু বন্ধ করতে হয়। এটি connection.close()
কল করে করা যায়।
consumer.close();
producer.close();
session.close();
connection.close();
Java এবং ActiveMQ এর ইন্টিগ্রেশন মেসেজিং পরিষেবাগুলোকে দ্রুত এবং সহজভাবে বাস্তবায়িত করতে সক্ষম করে। JMS API-এর মাধ্যমে মেসেজ প্রযোজক এবং কনজিউমার খুব সহজে তৈরি করা যায়।
ActiveMQ এবং Java এর ইন্টিগ্রেশন স্কেলেবল সিস্টেম নির্মাণের জন্য আদর্শ। এটি উচ্চ লোডের পরিবেশে অত্যন্ত কার্যকরী, এবং ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলোর জন্য উপযুক্ত।
ActiveMQ ক্লাস্টারিং সমর্থন করে, যার মাধ্যমে একটি বৃহৎ আর্কিটেকচার তৈরি করা যায়। Java অ্যাপ্লিকেশন এই ক্লাস্টারিং সুবিধার মাধ্যমে উন্নত স্কেলেবিলিটি এবং ফেইলওভার সমর্থন পায়।
ActiveMQ বিভিন্ন প্রোটোকল যেমন JMS, AMQP, MQTT, STOMP, এবং REST API সমর্থন করে, যা Java অ্যাপ্লিকেশনগুলিকে বিভিন্ন মেসেজিং পরিবেশের সাথে ইন্টিগ্রেট করতে সাহায্য করে।
Java এবং ActiveMQ এর ইন্টিগ্রেশন একটি অত্যন্ত শক্তিশালী এবং নমনীয় সমাধান প্রদান করে, যা মেসেজিং অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগ স্থাপন করতে সহায়ক। এর মাধ্যমে Java অ্যাপ্লিকেশনগুলো সহজেই মেসেজ প্রযোজক এবং কনজিউমার হিসেবে কাজ করতে পারে এবং কার্যকরী মেসেজ আদান-প্রদান ব্যবস্থা গড়ে তুলতে পারে।
common.read_more